home *** CD-ROM | disk | FTP | other *** search
- From: Mike Brennan <brennan@boeing.com>
- Subject: v02i029: mawk - (Ver. 1.1) An interpreter for the AWK language, Patch02b/4
- Newsgroups: comp.sources.reviewed
- Approved: csr@calvin.dgbt.doc.ca
-
- Submitted-by: Mike Brennan <brennan@boeing.com>
- Posting-number: Volume 2, Issue 29
- Archive-name: mawk/patch02b
- Patch-To: mawk: Volume 1, Issue 50-68
-
- #!/bin/sh
- # this is part.02 (part 2 of a multipart archive)
- # do not concatenate these parts, unpack them in order with /bin/sh
- # file diffs2 continued
- #
- if test ! -r _shar_seq_.tmp; then
- echo 'Please unpack part 1 first!'
- exit 1
- fi
- (read Scheck
- if test "$Scheck" != 2; then
- echo Please unpack part "$Scheck" next!
- exit 1
- else
- exit 0
- fi
- ) < _shar_seq_.tmp || exit 1
- if test ! -f _shar_wnt_.tmp; then
- echo 'x - still skipping diffs2'
- else
- echo 'x - continuing file diffs2'
- sed 's/^X//' << 'SHAR_EOF' >> 'diffs2' &&
- X sizes.h
- ! copyright 1991, Michael D. Brennan
- X
- X This is a source file for mawk, an implementation of
- --- 2,6 ----
- X /********************************************
- X sizes.h
- ! copyright 1991, 1992. Michael D. Brennan
- X
- X This is a source file for mawk, an implementation of
- ***************
- *** 11,18 ****
- X ********************************************/
- X
- ! /* $Log: sizes.h,v $
- ! * Revision 5.1 91/12/05 07:59:35 brennan
- X * 1.1 pre-release
- ! *
- X */
- X
- --- 11,21 ----
- X ********************************************/
- X
- ! /* $Log: sizes.h,v $
- ! * Revision 5.2 1992/08/27 03:20:08 mike
- ! * patch2: increase A_HASH_PRIME
- ! *
- ! * Revision 5.1 1991/12/05 07:59:35 brennan
- X * 1.1 pre-release
- ! *
- X */
- X
- ***************
- *** 23,27 ****
- X
- X #if ! HAVE_SMALL_MEMORY
- ! #define EVAL_STACK_SIZE 256 /* limit on recursion */
- X /* number of fields at startup, must be a power of 2
- X and FBANK_SZ-1 must be divisible by 3! */
- --- 26,30 ----
- X
- X #if ! HAVE_SMALL_MEMORY
- ! #define EVAL_STACK_SIZE 256 /* initial size , can grow */
- X /* number of fields at startup, must be a power of 2
- X and FBANK_SZ-1 must be divisible by 3! */
- ***************
- *** 50,54 ****
- X
- X #define HASH_PRIME 53
- ! #define A_HASH_PRIME 37
- X
- X
- --- 53,62 ----
- X
- X #define HASH_PRIME 53
- !
- ! #if ! HAVE_SMALL_MEMORY
- ! #define A_HASH_PRIME 199
- ! #else
- ! #define A_HASH_PRIME 37
- ! #endif
- X
- X
- *** mawk/split.c Tue Mar 3 17:23:48 1992
- --- mawk112/split.c Wed Jul 8 14:16:36 1992
- ***************
- *** 11,18 ****
- X ********************************************/
- X
- ! /* $Log: split.c,v $
- ! * Revision 5.1 91/12/05 07:56:31 brennan
- X * 1.1 pre-release
- ! *
- X */
- X
- --- 11,24 ----
- X ********************************************/
- X
- ! /* $Log: split.c,v $
- ! * Revision 5.2 1992/07/08 21:19:09 brennan
- ! * patch2
- ! * change in split() requires that
- ! * bi_split() call load_array() even
- ! * when cnt is 0.
- ! *
- ! * Revision 5.1 1991/12/05 07:56:31 brennan
- X * 1.1 pre-release
- ! *
- X */
- X
- ***************
- *** 219,227 ****
- X
- X if ( string(sp)->len == 0 ) /* nothing to split */
- ! { free_STRING( string(sp) ) ;
- ! sp->type = C_DOUBLE ; sp->dval = 0.0 ;
- ! return sp ;
- ! }
- !
- X switch ( (sp+2)->type )
- X {
- --- 225,230 ----
- X
- X if ( string(sp)->len == 0 ) /* nothing to split */
- ! cnt = 0 ;
- ! else
- X switch ( (sp+2)->type )
- X {
- *** mawk/symtype.h Tue Mar 3 17:23:48 1992
- --- mawk112/symtype.h Wed Jul 8 08:41:15 1992
- ***************
- *** 11,18 ****
- X ********************************************/
- X
- ! /*$Log: symtype.h,v $
- ! * Revision 5.1 91/12/05 07:59:37 brennan
- X * 1.1 pre-release
- ! *
- X */
- X
- --- 11,21 ----
- X ********************************************/
- X
- ! /*$Log: symtype.h,v $
- ! * Revision 5.2 1992/07/08 15:44:44 brennan
- ! * patch2: length returns. I am a wimp
- ! *
- ! * Revision 5.1 1991/12/05 07:59:37 brennan
- X * 1.1 pre-release
- ! *
- X */
- X
- ***************
- *** 111,117 ****
- X #define ST_NR 7 /* NR is special */
- X #define ST_ENV 8 /* and so is ENVIRON */
- ! #define ST_LOCAL_NONE 9
- ! #define ST_LOCAL_VAR 10
- ! #define ST_LOCAL_ARRAY 11
- X
- X #define is_local(stp) ((stp)->type>=ST_LOCAL_NONE)
- --- 114,121 ----
- X #define ST_NR 7 /* NR is special */
- X #define ST_ENV 8 /* and so is ENVIRON */
- ! #define ST_LENGTH 9 /* ditto and bozo */
- ! #define ST_LOCAL_NONE 10
- ! #define ST_LOCAL_VAR 11
- ! #define ST_LOCAL_ARRAY 12
- X
- X #define is_local(stp) ((stp)->type>=ST_LOCAL_NONE)
- *** mawk/types.h Tue Mar 3 17:23:50 1992
- --- mawk112/types.h Tue Apr 7 12:56:39 1992
- ***************
- *** 12,19 ****
- X
- X
- ! /* $Log: types.h,v $
- ! * Revision 5.1 91/12/05 07:59:39 brennan
- X * 1.1 pre-release
- ! *
- X */
- X
- --- 12,19 ----
- X
- X
- ! /* $Log: types.h,v $
- ! * Revision 5.1 1991/12/05 07:59:39 brennan
- X * 1.1 pre-release
- ! *
- X */
- X
- *** mawk/version.c Tue Mar 3 17:29:24 1992
- --- mawk112/version.c Thu Aug 27 04:50:46 1992
- ***************
- *** 2,6 ****
- X /********************************************
- X version.c
- ! copyright 1991, Michael D. Brennan
- X
- X This is a source file for mawk, an implementation of
- --- 2,6 ----
- X /********************************************
- X version.c
- ! copyright 1991, 1992. Michael D. Brennan
- X
- X This is a source file for mawk, an implementation of
- ***************
- *** 11,18 ****
- X ********************************************/
- X
- ! /*$Log: version.c,v $
- ! * Revision 5.3 92/03/03 16:42:23 brennan
- X * patch 1
- ! *
- X * Revision 5.2 92/01/22 05:34:10 brennan
- X * version 1.1
- --- 11,21 ----
- X ********************************************/
- X
- ! /*$Log: version.c,v $
- ! * Revision 5.4 1992/08/27 11:50:38 mike
- ! * patch2
- ! *
- ! * Revision 5.3 1992/03/03 16:42:23 brennan
- X * patch 1
- ! *
- X * Revision 5.2 92/01/22 05:34:10 brennan
- X * version 1.1
- ***************
- *** 27,31 ****
- X
- X #define VERSION_STRING \
- ! "mawk 1.1%s%s Feb 1992, Copyright (C) Michael D. Brennan\n\n"
- X
- X #define DOS_STRING ""
- --- 30,34 ----
- X
- X #define VERSION_STRING \
- ! "mawk 1.1%s%s Aug 1992, Copyright (C) Michael D. Brennan\n\n"
- X
- X #define DOS_STRING ""
- *** mawk/zmalloc.c Tue Mar 3 17:23:52 1992
- --- mawk112/zmalloc.c Tue Apr 7 12:56:40 1992
- ***************
- *** 11,18 ****
- X ********************************************/
- X
- ! /*$Log: zmalloc.c,v $
- ! * Revision 5.1 91/12/05 07:56:35 brennan
- X * 1.1 pre-release
- ! *
- X */
- X
- --- 11,18 ----
- X ********************************************/
- X
- ! /*$Log: zmalloc.c,v $
- ! * Revision 5.1 1991/12/05 07:56:35 brennan
- X * 1.1 pre-release
- ! *
- X */
- X
- *** mawk/zmalloc.h Tue Mar 3 17:23:52 1992
- --- mawk112/zmalloc.h Tue Apr 7 12:56:41 1992
- ***************
- *** 11,18 ****
- X ********************************************/
- X
- ! /*$Log: zmalloc.h,v $
- ! * Revision 5.1 91/12/05 07:59:41 brennan
- X * 1.1 pre-release
- ! *
- X */
- X
- --- 11,18 ----
- X ********************************************/
- X
- ! /*$Log: zmalloc.h,v $
- ! * Revision 5.1 1991/12/05 07:59:41 brennan
- X * 1.1 pre-release
- ! *
- X */
- X
- *** mawk/config/Idefault.h Tue Mar 3 17:29:32 1992
- --- mawk112/config/Idefault.h Wed Jul 8 09:13:16 1992
- ***************
- *** 12,16 ****
- X
- X
- ! /* $Log: Idefault.h,v $
- X * Revision 3.13 92/03/03 16:40:56 brennan
- X * remove HAVE_PRINTF_HD
- --- 12,22 ----
- X
- X
- ! /* $Log: Idefault.h,v $
- ! * Revision 3.15 1992/07/08 16:16:08 brennan
- ! * don't attempt any #def or #undef with __STDC__
- ! *
- ! * Revision 3.14 1992/03/31 13:39:00 brennan
- ! * TURN_ON_FPE_TRAPS() macro
- ! *
- X * Revision 3.13 92/03/03 16:40:56 brennan
- X * remove HAVE_PRINTF_HD
- ***************
- *** 186,189 ****
- --- 192,199 ----
- X #endif
- X
- + #ifndef TURN_ON_FPE_TRAPS
- + #define TURN_ON_FPE_TRAPS() /* nothing */
- + #endif
- +
- X #ifndef HAVE_SMALL_MEMORY
- X #define HAVE_SMALL_MEMORY 0
- ***************
- *** 194,203 ****
- X
- X
- ! #ifndef __STDC__
- ! #define __STDC__ 0
- ! #endif
- !
- X #if __STDC__
- -
- X #undef HAVE_PROTOS
- X #define HAVE_PROTOS 1
- --- 204,209 ----
- X
- X
- ! #ifdef __STDC__
- X #if __STDC__
- X #undef HAVE_PROTOS
- X #define HAVE_PROTOS 1
- ***************
- *** 208,217 ****
- X #undef HAVE_STRING_H
- X #define HAVE_STRING_H 1
- - #endif
- -
- - #if __STDC__ && ! __GNUC__
- - /* with gcc __STDC__ can be defined, but stdlib.h is missing */
- X #undef HAVE_STDLIB_H
- X #define HAVE_STDLIB_H 1
- X #endif
- X
- --- 214,220 ----
- X #undef HAVE_STRING_H
- X #define HAVE_STRING_H 1
- X #undef HAVE_STDLIB_H
- X #define HAVE_STDLIB_H 1
- + #endif
- X #endif
- X
- ***************
- *** 218,222 ****
- X
- X
- -
- X /* the painfull case: we need to catch fpe's and look at errno
- X after lib calls */
- --- 221,224 ----
- ***************
- *** 275,285 ****
- X #endif
- X
- - /* ultrix pukes if __STDC__ is defined 0 */
- - /* SCO UNIX's cc (from Microsoft) sneezes if __STDC__ is re-#define-d */
- - #if (__STDC__ == 0)
- - #ifndef M_I386
- - #undef __STDC__
- - #endif
- - #endif
- X
- X /* for Think C on the Macintosh, sizeof(size_t) != sizeof(unsigned
- --- 277,280 ----
- *** mawk/config/V7.h Tue Mar 3 17:24:12 1992
- --- mawk112/config/V7.h Tue Apr 7 12:56:53 1992
- ***************
- *** 16,23 ****
- X */
- X
- ! /*$Log: V7.h,v $
- ! * Revision 4.2 91/11/21 13:30:34 brennan
- ! *
- ! *
- X * 11/17/91 C. Mascott declare fprintf, sprintf on V7
- X *
- --- 16,22 ----
- X */
- X
- ! /*$Log: V7.h,v $
- ! * Revision 4.2 1991/11/21 13:30:34 brennan
- ! *
- X * 11/17/91 C. Mascott declare fprintf, sprintf on V7
- X *
- *** mawk/config/atarist.h Tue Mar 3 17:24:18 1992
- --- mawk112/config/atarist.h Tue Apr 7 12:56:56 1992
- ***************
- *** 17,24 ****
- X */
- X
- ! /*$Log: atarist.h,v $
- ! * Revision 1.1 91/10/29 10:48:52 brennan
- X * Initial revision
- ! *
- X */
- X
- --- 17,24 ----
- X */
- X
- ! /*$Log: atarist.h,v $
- ! * Revision 1.1 1991/10/29 10:48:52 brennan
- X * Initial revision
- ! *
- X */
- X
- *** mawk/config/bsd43_vax.h Tue Mar 3 17:24:10 1992
- --- mawk112/config/bsd43_vax.h Tue Apr 7 12:56:50 1992
- ***************
- *** 12,19 ****
- X
- X
- ! /* $Log: bsd43_vax.h,v $
- ! * Revision 4.1 91/09/25 11:41:07 brennan
- X * VERSION 1.0
- ! *
- X * Revision 3.2 91/08/13 09:04:09 brennan
- X * VERSION .9994
- --- 12,19 ----
- X
- X
- ! /* $Log: bsd43_vax.h,v $
- ! * Revision 4.1 1991/09/25 11:41:07 brennan
- X * VERSION 1.0
- ! *
- X * Revision 3.2 91/08/13 09:04:09 brennan
- X * VERSION .9994
- *** mawk/config/generic.h Tue Mar 3 17:29:30 1992
- --- mawk112/config/generic.h Tue Apr 7 12:56:48 1992
- ***************
- *** 12,19 ****
- X
- X
- ! /* $Log: generic.h,v $
- ! * Revision 4.4 92/03/03 16:40:54 brennan
- X * remove HAVE_PRINTF_HD
- ! *
- X * Revision 4.3 91/10/29 10:48:26 brennan
- X * version 1.09
- --- 12,19 ----
- X
- X
- ! /* $Log: generic.h,v $
- ! * Revision 4.4 1992/03/03 16:40:54 brennan
- X * remove HAVE_PRINTF_HD
- ! *
- X * Revision 4.3 91/10/29 10:48:26 brennan
- X * version 1.09
- *** mawk/config/mips.h Tue Mar 3 17:24:20 1992
- --- mawk112/config/mips.h Tue Apr 7 12:56:56 1992
- ***************
- *** 10,17 ****
- X ********************************************/
- X
- ! /*$Log: mips.h,v $
- ! * Revision 1.2 91/11/15 08:13:20 brennan
- X * declaration for sprintf
- ! *
- X * Revision 1.1 91/10/28 09:58:05 brennan
- X * Initial revision
- --- 10,17 ----
- X ********************************************/
- X
- ! /*$Log: mips.h,v $
- ! * Revision 1.2 1991/11/15 08:13:20 brennan
- X * declaration for sprintf
- ! *
- X * Revision 1.1 91/10/28 09:58:05 brennan
- X * Initial revision
- *** mawk/config/msc_dos.h Tue Mar 3 17:24:16 1992
- --- mawk112/config/msc_dos.h Tue Apr 7 12:56:55 1992
- ***************
- *** 13,20 ****
- X /* Microsoft C 6.0A under MSDOS */
- X
- ! /*$Log: msc_dos.h,v $
- ! * Revision 4.3 92/01/09 08:54:09 brennan
- X * changed SAMESEG macro
- ! *
- X * Revision 4.2 91/10/29 09:36:59 brennan
- X * Large model macro
- --- 13,20 ----
- X /* Microsoft C 6.0A under MSDOS */
- X
- ! /*$Log: msc_dos.h,v $
- ! * Revision 4.3 1992/01/09 08:54:09 brennan
- X * changed SAMESEG macro
- ! *
- X * Revision 4.2 91/10/29 09:36:59 brennan
- X * Large model macro
- *** mawk/config/next.h Tue Mar 3 17:29:36 1992
- --- mawk112/config/next.h Tue Apr 7 12:56:57 1992
- ***************
- *** 14,21 ****
- X */
- X
- ! /* $Log: next.h,v $
- ! * Revision 1.1 92/02/25 08:13:12 brennan
- X * Initial revision
- ! *
- X */
- X
- --- 14,21 ----
- X */
- X
- ! /* $Log: next.h,v $
- ! * Revision 1.1 1992/02/25 08:13:12 brennan
- X * Initial revision
- ! *
- X */
- X
- *** mawk/config/sgi.h Tue Mar 3 17:29:38 1992
- --- mawk112/config/sgi.h Tue Apr 7 12:56:57 1992
- ***************
- *** 14,21 ****
- X */
- X
- ! /* $Log: sgi.h,v $
- ! * Revision 1.1 92/02/25 08:10:22 brennan
- X * Initial revision
- ! *
- X */
- X
- --- 14,21 ----
- X */
- X
- ! /* $Log: sgi.h,v $
- ! * Revision 1.1 1992/02/25 08:10:22 brennan
- X * Initial revision
- ! *
- X */
- X
- *** mawk/config/sun_os40.h Tue Mar 3 17:24:10 1992
- --- mawk112/config/sun_os40.h Tue Apr 7 12:56:51 1992
- ***************
- *** 12,19 ****
- X
- X
- ! /* $Log: sun_os40.h,v $
- ! * Revision 4.2 91/11/17 12:34:11 brennan
- X * added a declaration for sprintf()
- ! *
- X * Revision 4.1 91/09/25 11:41:35 brennan
- X * VERSION 1.0
- --- 12,19 ----
- X
- X
- ! /* $Log: sun_os40.h,v $
- ! * Revision 4.2 1991/11/17 12:34:11 brennan
- X * added a declaration for sprintf()
- ! *
- X * Revision 4.1 91/09/25 11:41:35 brennan
- X * VERSION 1.0
- *** mawk/config/sun_os41.h Tue Mar 3 17:24:10 1992
- --- mawk112/config/sun_os41.h Tue Jul 7 08:42:39 1992
- ***************
- *** 2,6 ****
- X /********************************************
- X sun_os41.h
- ! copyright 1991, Michael D. Brennan
- X
- X This is a source file for mawk, an implementation of
- --- 2,6 ----
- X /********************************************
- X sun_os41.h
- ! copyright 1991, 1992. Michael D. Brennan
- X
- X This is a source file for mawk, an implementation of
- ***************
- *** 12,19 ****
- X
- X
- ! /* $Log: sun_os41.h,v $
- ! * Revision 1.3 91/12/05 08:24:02 brennan
- X * 1.1 pre-release
- ! *
- X */
- X
- --- 12,22 ----
- X
- X
- ! /* $Log: sun_os41.h,v $
- ! * Revision 1.4 1992/07/07 15:45:58 brennan
- ! * <stdlib.h> is non-standard
- ! *
- ! * Revision 1.3 1991/12/05 08:24:02 brennan
- X * 1.1 pre-release
- ! *
- X */
- X
- ***************
- *** 23,26 ****
- --- 26,32 ----
- X /* this is missing (actually its in 5include) */
- X int fprintf() ;
- +
- + /* this is not in <stdlib.h> */
- + double strtod() ;
- X
- X
- *** mawk/config/sysV.h Tue Mar 3 17:24:14 1992
- --- mawk112/config/sysV.h Tue Apr 7 12:56:54 1992
- ***************
- *** 24,31 ****
- X */
- X
- ! /*$Log: sysV.h,v $
- ! * Revision 4.1 91/09/25 11:41:40 brennan
- X * VERSION 1.0
- ! *
- X * Revision 1.2 91/08/13 09:04:15 brennan
- X * VERSION .9994
- --- 24,31 ----
- X */
- X
- ! /*$Log: sysV.h,v $
- ! * Revision 4.1 1991/09/25 11:41:40 brennan
- X * VERSION 1.0
- ! *
- X * Revision 1.2 91/08/13 09:04:15 brennan
- X * VERSION .9994
- *** mawk/config/sysV_ieeefp.h Tue Mar 3 17:24:14 1992
- --- mawk112/config/sysV_ieeefp.h Tue Apr 7 12:56:54 1992
- ***************
- *** 12,19 ****
- X
- X
- ! /* $Log: sysV_ieeefp.h,v $
- ! * Revision 4.1 91/09/25 11:41:45 brennan
- X * VERSION 1.0
- ! *
- X * Revision 1.3 91/09/10 09:19:41 brennan
- X * fixed comment typo
- --- 12,19 ----
- X
- X
- ! /* $Log: sysV_ieeefp.h,v $
- ! * Revision 4.1 1991/09/25 11:41:45 brennan
- X * VERSION 1.0
- ! *
- X * Revision 1.3 91/09/10 09:19:41 brennan
- X * fixed comment typo
- *** mawk/config/tcc_dos.h Tue Mar 3 17:24:12 1992
- --- mawk112/config/tcc_dos.h Tue Apr 7 12:56:52 1992
- ***************
- *** 13,20 ****
- X /* Turbo C under MSDOS */
- X
- ! /* $Log: tcc_dos.h,v $
- ! * Revision 4.2 91/10/29 09:37:54 brennan
- X * changes for 1.09
- ! *
- X * Revision 4.1 91/09/25 11:41:51 brennan
- X * VERSION 1.0
- --- 13,20 ----
- X /* Turbo C under MSDOS */
- X
- ! /* $Log: tcc_dos.h,v $
- ! * Revision 4.2 1991/10/29 09:37:54 brennan
- X * changes for 1.09
- ! *
- X * Revision 4.1 91/09/25 11:41:51 brennan
- X * VERSION 1.0
- *** mawk/config/ultrix42mips.h Tue Mar 3 17:29:36 1992
- --- mawk112/config/ultrix42mips.h Tue Apr 7 12:56:50 1992
- ***************
- *** 12,19 ****
- X
- X
- ! /* $Log: ultrix42mips.h,v $
- ! * Revision 1.1 92/03/03 12:35:21 brennan
- X * Initial revision
- ! *
- X */
- X
- --- 12,19 ----
- X
- X
- ! /* $Log: ultrix42mips.h,v $
- ! * Revision 1.1 1992/03/03 12:35:21 brennan
- X * Initial revision
- ! *
- X */
- X
- *** mawk/config/ultrix_vax.h Tue Mar 3 17:24:08 1992
- --- mawk112/config/ultrix_vax.h Tue Apr 7 12:56:49 1992
- ***************
- *** 12,19 ****
- X
- X
- ! /* $Log: ultrix_vax.h,v $
- ! * Revision 4.1 91/09/25 11:42:07 brennan
- X * VERSION 1.0
- ! *
- X * Revision 3.2 91/08/13 09:04:23 brennan
- X * VERSION .9994
- --- 12,19 ----
- X
- X
- ! /* $Log: ultrix_vax.h,v $
- ! * Revision 4.1 1991/09/25 11:42:07 brennan
- X * VERSION 1.0
- ! *
- X * Revision 3.2 91/08/13 09:04:23 brennan
- X * VERSION .9994
- *** mawk/config/xenix_r2.h Tue Mar 3 17:24:14 1992
- --- mawk112/config/xenix_r2.h Tue Apr 7 12:56:53 1992
- ***************
- *** 24,31 ****
- X */
- X
- ! /*$Log: xenix_r2.h,v $
- ! * Revision 4.1 91/09/25 11:42:13 brennan
- X * VERSION 1.0
- ! *
- X * Revision 1.2 91/08/13 09:04:24 brennan
- X * VERSION .9994
- --- 24,31 ----
- X */
- X
- ! /*$Log: xenix_r2.h,v $
- ! * Revision 4.1 1991/09/25 11:42:13 brennan
- X * VERSION 1.0
- ! *
- X * Revision 1.2 91/08/13 09:04:24 brennan
- X * VERSION .9994
- *** mawk/man/mawk.1 Tue Mar 3 17:23:54 1992
- --- mawk112/man/mawk.1 Wed Aug 26 21:14:36 1992
- ***************
- *** 1,3 ****
- ! .TH MAWK 1 "Jan 22 1992" "Version 1.1" "USER COMMANDS"
- X .\" strings
- X .ds ex \fIexpr\fR
- --- 1,3 ----
- ! .TH MAWK 1 "Jul 13 1992" "Version 1.1.2" "USER COMMANDS"
- X .\" strings
- X .ds ex \fIexpr\fR
- ***************
- *** 4,8 ****
- X .SH NAME
- X mawk \- pattern scanning and text processing language
- -
- X .SH SYNOPSIS
- X .B mawk
- --- 4,7 ----
- ***************
- *** 25,29 ****
- X .IR program-file ]
- X [\-\|\-] [file ...]
- -
- X .SH DESCRIPTION
- X .B mawk
- --- 24,27 ----
- ***************
- *** 47,51 ****
- X .B mawk
- X provides a small number of extensions.
- !
- X An AWK program is a sequence of \fIpattern {action}\fR pairs and
- X function definitions.
- --- 45,49 ----
- X .B mawk
- X provides a small number of extensions.
- ! .PP
- X An AWK program is a sequence of \fIpattern {action}\fR pairs and
- X function definitions.
- ***************
- *** 60,64 ****
- X record separator variable, \fBRS\fR. Initially,
- X .B RS
- ! = "\\n" and records are synonymous with lines.
- X Each record is compared against each
- X .I pattern
- --- 58,62 ----
- X record separator variable, \fBRS\fR. Initially,
- X .B RS
- ! = "\en" and records are synonymous with lines.
- X Each record is compared against each
- X .I pattern
- ***************
- *** 66,82 ****
- X .I "{action}"
- X is executed.
- -
- X .SH OPTIONS
- !
- ! .TP \w'\-\fBv'+\w'\fIvar=value'u+2n
- ! \-\fBF \fIvalue
- X sets the field separator, \fBFS\fR, to
- X .IR value .
- !
- ! .IP "\-\fBf \fIfile"
- X Program text is read from \fIfile\fR instead of from the
- ! command line. Multiple \-f options are allowed.
- !
- ! .IP "\-\fBv \fIvar=value"
- X assigns
- X .I value
- --- 64,80 ----
- X .I "{action}"
- X is executed.
- X .SH OPTIONS
- ! .TP \w'\-\fBW'u+\w'\fRsprintf=\fInum\fR'u+2n
- ! \-\fBF \fIvalue\fP
- X sets the field separator, \fBFS\fR, to
- X .IR value .
- ! .TP
- ! \-\fBf \fIfile
- X Program text is read from \fIfile\fR instead of from the
- ! command line. Multiple
- ! .B \-f
- ! options are allowed.
- ! .TP
- ! \-\fBv \fIvar=value\fR
- X assigns
- X .I value
- ***************
- *** 83,88 ****
- X to program variable
- X .IR var .
- !
- ! .IP "\-\|\-"
- X indicates the unambiguous end of options.
- X .PP
- --- 81,86 ----
- X to program variable
- X .IR var .
- ! .TP
- ! \-\|\-
- X indicates the unambiguous end of options.
- X .PP
- ***************
- *** 89,97 ****
- X The above options will be available with any Posix compatible
- X implementation of AWK, and implementation specific options are
- ! prefaced with \-W.
- X .B mawk
- ! provides three:
- !
- ! .TP \w'\-\fBv'+\w'\fIvar=value'u+2n
- X \-\fBW \fRversion
- X .B mawk
- --- 87,95 ----
- X The above options will be available with any Posix compatible
- X implementation of AWK, and implementation specific options are
- ! prefaced with
- ! .BR \-W .
- X .B mawk
- ! provides four:
- ! .TP \w'\-\fBW'u+\w'\fRsprintf=\fInum\fR'u+2n
- X \-\fBW \fRversion
- X .B mawk
- ***************
- *** 104,108 ****
- X representation of the program to stderr.
- X .TP
- ! \-\fBW \fRsprintf=\fInum
- X adjusts the size of
- X .B mawk's
- --- 102,106 ----
- X representation of the program to stderr.
- X .TP
- ! \-\fBW \fRsprintf=\fInum\fR
- X adjusts the size of
- X .B mawk's
- ***************
- *** 116,121 ****
- X forces
- X .B mawk
- ! not to consider '\\n' to be space.
- !
- X .SH "THE AWK LANGUAGE"
- X .SS "\fB1. Program structure"
- --- 114,118 ----
- X forces
- X .B mawk
- ! not to consider '\en' to be space.
- X .SH "THE AWK LANGUAGE"
- X .SS "\fB1. Program structure"
- ***************
- *** 152,156 ****
- X have no meaning; an empty statement is terminated with a
- X semi-colon. Long statements
- ! can be continued with a backslash, \\\|. A statement can be broken
- X without a backslash after a comma, left brace, &&, ||,
- X .BR do ,
- --- 149,153 ----
- X have no meaning; an empty statement is terminated with a
- X semi-colon. Long statements
- ! can be continued with a backslash, \e\|. A statement can be broken
- X without a backslash after a comma, left brace, &&, ||,
- X .BR do ,
- ***************
- *** 218,241 ****
- X .sp
- X .ce
- ! "This is a string with a newline at the end.\\n"
- X .sp
- ! Strings can be continued across a line by escaping (\\) the newline.
- X The following escape sequences are recognized.
- X .nf
- X .sp
- ! \\\\ \\
- ! \\" "
- ! \\a alert, ascii 7
- ! \\b backspace, ascii 8
- ! \\t tab, ascii 9
- ! \\n newline, ascii 10
- ! \\v vertical tab, ascii 11
- ! \\f formfeed, ascii 12
- ! \\r carriage return, ascii 13
- ! \\ddd 1, 2 or 3 octal digits for ascii ddd
- ! \\xhh 1 or 2 hex digits for ascii hh
- X .sp
- X .fi
- ! If you escape any other character \\c, you get \\c, i.e.,
- X .B mawk
- X ignores the escape.
- --- 215,238 ----
- X .sp
- X .ce
- ! "This is a string with a newline at the end.\en"
- X .sp
- ! Strings can be continued across a line by escaping (\e) the newline.
- X The following escape sequences are recognized.
- X .nf
- X .sp
- ! \e\e \e
- ! \e" "
- ! \ea alert, ascii 7
- ! \eb backspace, ascii 8
- ! \et tab, ascii 9
- ! \en newline, ascii 10
- ! \ev vertical tab, ascii 11
- ! \ef formfeed, ascii 12
- ! \er carriage return, ascii 13
- ! \eddd 1, 2 or 3 octal digits for ascii ddd
- ! \exhh 1 or 2 hex digits for ascii hh
- X .sp
- X .fi
- ! If you escape any other character \ec, you get \ec, i.e.,
- X .B mawk
- X ignores the escape.
- ***************
- *** 296,306 ****
- X \*(ex\d1\u \fBrel-op \*(ex\d2\u,
- X if both operands are numeric or number and string then the comparison
- ! is numeric; if both operands are string the comparison is string.
- ! If exactly one operand is string and after trimming spaces and
- ! tabs from the front and back the remaining string is entirely
- ! numeric in form, then the string is converted to number and the
- ! comparison is numeric; otherwise, the numeric operand is converted
- ! to string and the comparison is string.
- ! The result of a comparison is numeric, 0 or 1.
- X .PP
- X In boolean contexts such as,
- --- 293,299 ----
- X \*(ex\d1\u \fBrel-op \*(ex\d2\u,
- X if both operands are numeric or number and string then the comparison
- ! is numeric; if both operands are string the comparison is string;
- ! if one operand is string, the non-string operand is converted and
- ! the comparison is string. The result is numeric, 1 or 0.
- X .PP
- X In boolean contexts such as,
- ***************
- *** 360,364 ****
- X matches any non-metacharacter
- X .IR c .
- ! .IP "\e\fIc\fR"
- X matches a character defined by the same escape sequences used
- X in string constants or the literal
- --- 353,358 ----
- X matches any non-metacharacter
- X .IR c .
- ! .TP
- ! "\e\fIc\fR"
- X matches a character defined by the same escape sequences used
- X in string constants or the literal
- ***************
- *** 366,372 ****
- X .I c
- X if
- ! \\\fIc\fR
- X is not an escape sequence.
- ! .IP \.
- X matches any character (including newline).
- X .TP
- --- 360,367 ----
- X .I c
- X if
- ! \e\fIc\fR
- X is not an escape sequence.
- ! .TP
- ! \&\.
- X matches any character (including newline).
- X .TP
- ***************
- *** 390,394 ****
- X as follows:
- X .RS
- ! .TP
- X \fIr\fR\d1\u\fIr\fR\d2\u
- X matches
- --- 385,389 ----
- X as follows:
- X .RS
- ! .TP \w'[^c\d1\uc\d2\uc\d3\u...]'u+1n
- X \fIr\fR\d1\u\fIr\fR\d2\u
- X matches
- ***************
- *** 425,429 ****
- X .sp
- X /^[_a\-zA-Z][_a\-zA\-Z0\-9]*$/ and
- ! /^[\-+]?([0\-9]+\\\|.?|\\\|.[0\-9])[0\-9]*([eE][\-+]?[0\-9]+)?$/
- X .sp
- X .fi
- --- 420,424 ----
- X .sp
- X /^[_a\-zA-Z][_a\-zA\-Z0\-9]*$/ and
- ! /^[\-+]?([0\-9]+\e\|.?|\e\|.[0\-9])[0\-9]*([eE][\-+]?[0\-9]+)?$/
- X .sp
- X .fi
- ***************
- *** 513,517 ****
- X echo 24 24E |
- X mawk '{ print($1>100, $1>"100", $2>100, $2>"100") }'
- ! 0 0 1 1
- X .fi
- X .sp
- --- 508,512 ----
- X echo 24 24E |
- X mawk '{ print($1>100, $1>"100", $2>100, $2>"100") }'
- ! 0 1 1 1
- X .fi
- X .sp
- ***************
- *** 521,529 ****
- X are string and
- X .B $1
- ! is number and string. The first
- ! and second comparisons are numeric and the last
- ! two are string. In the second "100" is
- ! converted to 100, and in the third 100 is
- ! converted to "100".
- X .\"
- X .SS "\fB5. Expressions and operators"
- --- 516,523 ----
- X are string and
- X .B $1
- ! is number and string. The first comparison is numeric,
- ! the second is string, the third is string
- ! (100 is converted to "100"),
- ! and the last is string.
- X .\"
- X .SS "\fB5. Expressions and operators"
- ***************
- *** 672,676 ****
- X .TP
- X .B ORS
- ! terminates each record on output, initially = "\\n".
- X .TP
- X .B RLENGTH
- --- 666,670 ----
- X .TP
- X .B ORS
- ! terminates each record on output, initially = "\en".
- X .TP
- X .B RLENGTH
- ***************
- *** 679,683 ****
- X .TP
- X .B RS
- ! input record separator, initially = "\\n".
- X .TP
- X .B RSTART
- --- 673,677 ----
- X .TP
- X .B RS
- ! input record separator, initially = "\en".
- X .TP
- X .B RSTART
- ***************
- *** 686,690 ****
- X .TP
- X .B SUBSEP
- ! used to build multiple array subscripts, initially = "\\034".
- X .RE
- X .\"
- --- 680,684 ----
- X .TP
- X .B SUBSEP
- ! used to build multiple array subscripts, initially = "\e034".
- X .RE
- X .\"
- ***************
- *** 709,713 ****
- X is replaced by the matched substring of
- X .IR t .
- ! \\& puts a literal & in the replacement string.
- X .TP
- X index(\fIs,t\fR)
- --- 703,707 ----
- X is replaced by the matched substring of
- X .IR t .
- ! \e& puts a literal & in the replacement string.
- X .TP
- X index(\fIs,t\fR)
- ***************
- *** 723,731 ****
- X is in position 1.
- X .TP
- ! length(\fIs\fR) length()
- X Returns the length of string
- ! .IR s ;
- ! without an argument, returns the length of
- ! .BR $0 .
- X .TP
- X match(\fIs,r\fR)
- --- 717,723 ----
- X is in position 1.
- X .TP
- ! length(\fIs\fR)
- X Returns the length of string
- ! .IR s .
- X .TP
- X match(\fIs,r\fR)
- ***************
- *** 1036,1040 ****
- X .B mawk
- X defines <SPACE> as the regular expression
- ! /[\ \\t\\n]+/.
- X Otherwise
- X .I sep
- --- 1028,1032 ----
- X .B mawk
- X defines <SPACE> as the regular expression
- ! /[\ \et\en]+/.
- X Otherwise
- X .I sep
- ***************
- *** 1042,1046 ****
- X are ignored for a string of length 1,
- X e.g.,
- ! split(x, A, "*") and split(x, A, /\\*/) are the same.
- X .TP
- X (3)
- --- 1034,1038 ----
- X are ignored for a string of length 1,
- X e.g.,
- ! split(x, A, "*") and split(x, A, /\e*/) are the same.
- X .TP
- X (3)
- ***************
- *** 1049,1053 ****
- X and
- X .I A
- ! is unchanged.
- X Otherwise,
- X all non-overlapping, non-null and longest matches of
- --- 1041,1045 ----
- X and
- X .I A
- ! is set empty.
- X Otherwise,
- X all non-overlapping, non-null and longest matches of
- ***************
- *** 1119,1123 ****
- X records are easy. Setting
- X .B RS
- ! = "\\n\\n+", makes one or more blank
- X lines separate records. If
- X .B FS
- --- 1111,1115 ----
- X records are easy. Setting
- X .B RS
- ! = "\en\en+", makes one or more blank
- X lines separate records. If
- X .B FS
- ***************
- *** 1127,1138 ****
- X .RS
- X .PP
- ! For example, if a file is "a\ b\\nc\\n\\n",
- X .B RS
- ! = "\\n\\n+" and
- X .B FS
- ! = "\ ", then there is one record "a\ b\\nc" with three
- X fields "a", "b" and "c". Changing
- X .B FS
- ! = "\\n", gives two
- X fields "a b" and "c"; changing
- X .B FS
- --- 1119,1130 ----
- X .RS
- X .PP
- ! For example, if a file is "a\ b\enc\en\en",
- X .B RS
- ! = "\en\en+" and
- X .B FS
- ! = "\ ", then there is one record "a\ b\enc" with three
- X fields "a", "b" and "c". Changing
- X .B FS
- ! = "\en", gives two
- X fields "a b" and "c"; changing
- X .B FS
- ***************
- *** 1144,1148 ****
- X set
- X .B RS
- ! = "\\n([\ \\t]*\\n)+".
- X For compatibility with other awks, setting
- X .B RS
- --- 1136,1140 ----
- X set
- X .B RS
- ! = "\en([\ \et]*\en)+".
- X For compatibility with other awks, setting
- X .B RS
- ***************
- *** 1151,1156 ****
- X front and back of files and then records are determined as if
- X .B RS
- ! = "\\n\\n+".
- ! Posix requires that "\\n" always separates records when
- X .B RS
- X = "" regardless of the value of
- --- 1143,1148 ----
- X front and back of files and then records are determined as if
- X .B RS
- ! = "\en\en+".
- ! Posix requires that "\en" always separates records when
- X .B RS
- X = "" regardless of the value of
- ***************
- *** 1158,1162 ****
- X .B mawk
- X does not support this convention, because defining
- ! "\\n" as <SPACE> makes it unnecessary.
- X .\"
- X .PP
- --- 1150,1154 ----
- X .B mawk
- X does not support this convention, because defining
- ! "\en" as <SPACE> makes it unnecessary.
- X .\"
- X .PP
- ***************
- *** 1166,1170 ****
- X will also want to change
- X .B ORS
- ! to "\\n\\n" so the record spacing is preserved on output.
- X .\"
- X .SS "\fB13. Program execution"
- --- 1158,1162 ----
- X will also want to change
- X .B ORS
- ! to "\en\en" so the record spacing is preserved on output.
- X .\"
- X .SS "\fB13. Program execution"
- ***************
- *** 1198,1202 ****
- X .B ARGV[4]
- X = "B".
- !
- X Next, each
- X .B BEGIN
- --- 1190,1194 ----
- X .B ARGV[4]
- X = "B".
- ! .PP
- X Next, each
- X .B BEGIN
- ***************
- *** 1326,1330 ****
- X .B exit
- X or subsequent error.
- -
- X .SH EXAMPLES
- X .nf
- --- 1318,1321 ----
- ***************
- *** 1335,1339 ****
- X 2. emulate wc.
- X
- ! { chars += length($0) + 1 # add one for the \\n
- X words += NF
- X }
- --- 1326,1330 ----
- X 2. emulate wc.
- X
- ! { chars += length($0) + 1 # add one for the \en
- X words += NF
- X }
- ***************
- *** 1385,1389 ****
- X
- X .fi
- -
- X .SH "COMPATIBILITY ISSUES"
- X The Posix 1003.2(draft 11.2) definition of the AWK language
- --- 1376,1379 ----
- ***************
- *** 1405,1409 ****
- X a time.
- X .B RS
- ! can be changed from "\\n" to another single character,
- X but it
- X is hard to find any use for this \(em there are no
- --- 1395,1399 ----
- X a time.
- X .B RS
- ! can be changed from "\en" to another single character,
- X but it
- X is hard to find any use for this \(em there are no
- ***************
- *** 1411,1415 ****
- X By convention, \fBRS\fR = "", makes one or more blank lines
- X separate records, allowing multi-line records. When
- ! \fBRS\fR = "", "\\n" is always a field separator
- X regardless of the value in
- X .BR FS .
- --- 1401,1405 ----
- X By convention, \fBRS\fR = "", makes one or more blank lines
- X separate records, allowing multi-line records. When
- ! \fBRS\fR = "", "\en" is always a field separator
- X regardless of the value in
- X .BR FS .
- ***************
- *** 1420,1424 ****
- X .B RS
- X to be a regular expression.
- ! When "\\n" appears in records, it is treated as space, and
- X .B FS
- X always determines fields.
- --- 1410,1414 ----
- X .B RS
- X to be a regular expression.
- ! When "\en" appears in records, it is treated as space, and
- X .B FS
- X always determines fields.
- ***************
- *** 1450,1454 ****
- X .sp
- X BEGIN {
- ! RS = "/\|\\*([^*]\||\|\\*+[^/*])*\\*+/"
- X # comment is record separator
- X ORS = " "
- --- 1440,1444 ----
- X .sp
- X BEGIN {
- ! RS = "/\|\e*([^*]\||\|\e*+[^/*])*\e*+/"
- X # comment is record separator
- X ORS = " "
- ***************
- *** 1469,1473 ****
- X .nf
- X .sp
- ! x ~ /a\\+b/ x ~ "a\\+b" x ~ "a\\\\+b"
- X .sp
- X .fi
- --- 1459,1463 ----
- X .nf
- X .sp
- ! x ~ /a\e+b/ x ~ "a\e+b" x ~ "a\e\e+b"
- X .sp
- X .fi
- ***************
- *** 1486,1493 ****
- X the more portable but less readable, double escape.
- X .PP
- ! Posix AWK does not recognize "/dev/stderr" or \\x hex escape
- X sequences in strings. Unlike ANSI C,
- X .B mawk
- ! limits the number of digits that follows \\x to two.
- X .PP
- X Finally, here is how
- --- 1476,1483 ----
- X the more portable but less readable, double escape.
- X .PP
- ! Posix AWK does not recognize "/dev/stderr" or \ex hex escape
- X sequences in strings. Unlike ANSI C,
- X .B mawk
- ! limits the number of digits that follows \ex to two.
- X .PP
- X Finally, here is how
- ***************
- *** 1504,1508 ****
- X returned; so substr("ABC", 1, 0) = "" and
- X substr("ABC", \-4, 6) = "A".
- !
- X Every string, including the empty string, matches the empty string
- X at the
- --- 1494,1498 ----
- X returned; so substr("ABC", 1, 0) = "" and
- X substr("ABC", \-4, 6) = "A".
- ! .PP
- X Every string, including the empty string, matches the empty string
- X at the
- ***************
- *** 1511,1515 ****
- X .B RLENGTH
- X to 0.
- !
- X index(s, t) is always the same as match(s, t1) where t1 is the
- X same as t with metacharacters escaped. Hence consistency
- --- 1501,1505 ----
- X .B RLENGTH
- X to 0.
- ! .PP
- X index(s, t) is always the same as match(s, t1) where t1 is the
- X same as t with metacharacters escaped. Hence consistency
- ***************
- *** 1518,1522 ****
- X Also the condition, index(s,t) != 0 if and only t is a substring
- X of s, requires index("","") = 1.
- !
- X If getline encounters end of file, getline var, leaves var
- X unchanged. Similarly, on entry to the
- --- 1508,1512 ----
- X Also the condition, index(s,t) != 0 if and only t is a substring
- X of s, requires index("","") = 1.
- ! .PP
- X If getline encounters end of file, getline var, leaves var
- X unchanged. Similarly, on entry to the
- ***************
- *** 1527,1534 ****
- X .B NF
- X have their value unaltered from the last record.
- -
- X .SH SEE ALSO
- ! .I egrep
- ! (1)
- X .PP
- X Aho, Kernighan and Weinberger,
- --- 1517,1522 ----
- X .B NF
- X have their value unaltered from the last record.
- X .SH SEE ALSO
- ! .IR egrep (1)
- X .PP
- X Aho, Kernighan and Weinberger,
- ***************
- *** 1547,1558 ****
- X The section on AWK arrays is excellent. It also
- X discusses Posix requirements for AWK.
- -
- -
- X .SH BUGS
- X .B mawk
- ! cannot handle ascii NUL \\0 in the source or data files. You
- X can output NUL using printf with %c, and any other 8 bit
- X character is acceptable input.
- !
- X .B mawk
- X implements printf() and sprintf() using the C library functions,
- --- 1535,1544 ----
- X The section on AWK arrays is excellent. It also
- X discusses Posix requirements for AWK.
- X .SH BUGS
- X .B mawk
- ! cannot handle ascii NUL \e0 in the source or data files. You
- X can output NUL using printf with %c, and any other 8 bit
- X character is acceptable input.
- ! .PP
- X .B mawk
- X implements printf() and sprintf() using the C library functions,
- ***************
- *** 1562,1569 ****
- X .B mawk
- X inherits any bugs or limitations of the library functions.
- !
- X Implementors of the AWK language have shown a consistent lack
- X of imagination when naming their programs.
- -
- X .SH AUTHOR
- X Mike Brennan (brennan@boeing.com).
- --- 1548,1554 ----
- X .B mawk
- X inherits any bugs or limitations of the library functions.
- ! .PP
- X Implementors of the AWK language have shown a consistent lack
- X of imagination when naming their programs.
- X .SH AUTHOR
- X Mike Brennan (brennan@boeing.com).
- *** mawk/msdos/Makefile.tcc Tue Mar 3 17:24:52 1992
- --- mawk112/msdos/Makefile.tcc Tue Apr 7 12:56:59 1992
- ***************
- *** 8,13 ****
- X # make -DLARGE -DREARGV -- bmawk.exe unix command line
- X
- ! #$Log: Makefile.tcc,v $
- ! #Revision 1.2 91/11/12 09:59:26 brennan
- X #changed tcc to $(CC) and .o to .obj
- X #
- --- 8,13 ----
- X # make -DLARGE -DREARGV -- bmawk.exe unix command line
- X
- ! #$Log: Makefile.tcc,v $
- ! #Revision 1.2 1991/11/12 09:59:26 brennan
- X #changed tcc to $(CC) and .o to .obj
- X #
- *** mawk/msdos/NOTES Tue Mar 3 17:24:48 1992
- --- mawk112/msdos/NOTES Fri Jul 10 09:28:23 1992
- ***************
- *** 142,150 ****
- X POSSIBLE PROBLEMS:
- X
- ! 1) Using TurboC++ 1.0, the code segment is 153 bytes short of
- ! 64K. With another compiler or a different version of TurboC++,
- ! this might not fit in 64K. If this is a problem,
- ! then compile with -DNO_BINMODE which removes the BINMODE features
- ! from small model only and then it should fit.
- X
- X 2) MSC 5.1 requires /Os and /Gs for small model to fit in 64K.
- --- 142,148 ----
- X POSSIBLE PROBLEMS:
- X
- ! 1) Hopefully you can compile for speed and still fit the code
- ! in 64K. If not set your compiler switches to compile for
- ! optimized (ie small) size.
- X
- X 2) MSC 5.1 requires /Os and /Gs for small model to fit in 64K.
- *** mawk/msdos/dosexec.c Tue Mar 3 17:24:48 1992
- --- mawk112/msdos/dosexec.c Tue Jul 28 09:47:03 1992
- ***************
- *** 11,18 ****
- X ********************************************/
- X
- ! /*$Log: dosexec.c,v $
- ! * Revision 1.2 91/11/16 10:27:18 brennan
- ! * BINMODE
- ! *
- X * Revision 1.1 91/10/29 09:45:56 brennan
- X * Initial revision
- --- 11,21 ----
- X ********************************************/
- X
- ! /*$Log: dosexec.c,v $
- ! * Revision 1.3 1992/07/10 16:21:57 brennan
- ! * store exit code of input pipes
- ! *
- ! * Revision 1.2 1991/11/16 10:27:18 brennan
- ! * BINMODE
- ! *
- X * Revision 1.1 91/10/29 09:45:56 brennan
- X * Initial revision
- ***************
- *** 99,107 ****
- X
- X
- ! static int next_tmp ;
- ! static char *tmpdir ;
- X
- - /* put the name of a temp file in string buff */
- X
- X char *tmp_file_name( id )
- X int id ;
- --- 102,110 ----
- X
- X
- ! static int next_tmp ; /* index for naming temp files */
- ! static char *tmpdir ; /* directory to hold temp files */
- X
- X
- + /* put the name of a temp file in string buff */
- X char *tmp_file_name( id )
- X int id ;
- ***************
- *** 133,137 ****
- X
- X sprintf(xbuff, "%s > %s" , command, tmpfile) ;
- ! DOSexec(xbuff) ;
- X retval = (PTR) FINopen(tmpfile, 0) ;
- X }
- --- 136,140 ----
- X
- X sprintf(xbuff, "%s > %s" , command, tmpfile) ;
- ! tmp_idp[1] = DOSexec(xbuff) ;
- X retval = (PTR) FINopen(tmpfile, 0) ;
- X }
- ***************
- *** 160,164 ****
- X
- X #endif /* MSDOS */
- -
- -
- -
- --- 163,164 ----
- *** mawk/msdos/see2obj.c Tue Mar 3 17:24:52 1992
- --- mawk112/msdos/see2obj.c Tue Apr 7 12:56:58 1992
- ***************
- *** 11,18 ****
- X */
- X
- ! /*$Log: see2obj.c,v $
- ! * Revision 1.1 91/10/29 07:53:53 brennan
- X * Initial revision
- ! *
- X */
- X
- --- 11,18 ----
- X */
- X
- ! /*$Log: see2obj.c,v $
- ! * Revision 1.1 1991/10/29 07:53:53 brennan
- X * Initial revision
- ! *
- X */
- X
- *** mawk/rexp/rexp.c Tue Mar 3 17:23:58 1992
- --- mawk112/rexp/rexp.c Tue Apr 7 12:56:42 1992
- ***************
- *** 11,18 ****
- X ********************************************/
- X
- ! /*$Log: rexp.c,v $
- ! * Revision 3.4 91/08/13 09:09:59 brennan
- X * VERSION .9994
- ! *
- X * Revision 3.3 91/08/04 15:45:03 brennan
- X * no longer attempt to recover mem on failed REcompile
- --- 11,18 ----
- X ********************************************/
- X
- ! /*$Log: rexp.c,v $
- ! * Revision 3.4 1991/08/13 09:09:59 brennan
- X * VERSION .9994
- ! *
- X * Revision 3.3 91/08/04 15:45:03 brennan
- X * no longer attempt to recover mem on failed REcompile
- *** mawk/rexp/rexp.h Tue Mar 3 17:24:00 1992
- --- mawk112/rexp/rexp.h Tue Apr 7 12:56:43 1992
- ***************
- *** 11,18 ****
- X ********************************************/
- X
- ! /*$Log: rexp.h,v $
- ! * Revision 3.6 92/01/21 17:31:45 brennan
- X * moved ison() macro out of rexp[23].c
- ! *
- X * Revision 3.5 91/10/29 10:53:55 brennan
- X * SIZE_T
- --- 11,18 ----
- X ********************************************/
- X
- ! /*$Log: rexp.h,v $
- ! * Revision 3.6 1992/01/21 17:31:45 brennan
- X * moved ison() macro out of rexp[23].c
- ! *
- X * Revision 3.5 91/10/29 10:53:55 brennan
- X * SIZE_T
- *** mawk/rexp/rexp0.c Tue Mar 3 17:24:00 1992
- --- mawk112/rexp/rexp0.c Tue Apr 21 13:20:31 1992
- ***************
- *** 11,15 ****
- X ********************************************/
- X
- ! /*$Log: rexp0.c,v $
- X * Revision 3.6 92/01/21 17:32:51 brennan
- X * added some casts so that character classes work with signed chars
- --- 11,23 ----
- X ********************************************/
- X
- ! /*$Log: rexp0.c,v $
- ! * Revision 3.8 1992/04/21 20:22:38 brennan
- ! * 1.1 patch2
- ! * [c1-c2] now works if c2 is an escaped character
- ! *
- ! * Revision 3.7 1992/03/24 09:33:12 brennan
- ! * 1.1 patch2
- ! * When backing up in do_str, check if last character was escaped
- ! *
- X * Revision 3.6 92/01/21 17:32:51 brennan
- X * added some casts so that character classes work with signed chars
- ***************
- *** 186,189 ****
- --- 194,202 ----
- X }
- X
- + /*
- + collect a run of characters into a string
- + machine
- + */
- +
- X static int do_str( c, pp, mp)
- X int c ; /* the first character */
- ***************
- *** 191,199 ****
- X MACHINE *mp ; /* where to put the string machine */
- X { register char *p , *s ;
- ! char *str ;
- ! unsigned len ;
- X
- X
- ! p = *pp ;
- X s = str = RE_malloc( re_len ) ;
- X *s++ = c ; len = 1 ;
- --- 204,213 ----
- X MACHINE *mp ; /* where to put the string machine */
- X { register char *p , *s ;
- ! char *p_entry ;
- ! char *str ; /* collect it here */
- ! unsigned len ; /* length collected */
- X
- X
- ! p = p_entry = *pp ;
- X s = str = RE_malloc( re_len ) ;
- X *s++ = c ; len = 1 ;
- ***************
- *** 219,224 ****
- X /* if len > 1 and we failed on a ? + or * , need to back up */
- X if ( len > 1 && (*p == '*' || *p == '+' || *p == '?' ) )
- ! { len-- ; p-- ; s-- ; }
- X
- X *s = 0 ;
- X *pp = p ;
- --- 233,251 ----
- X /* if len > 1 and we failed on a ? + or * , need to back up */
- X if ( len > 1 && (*p == '*' || *p == '+' || *p == '?' ) )
- ! { len-- ; p-- ; s-- ;
- X
- + /* if the last character was escaped, back up one more */
- + {
- + int cnt = 0 ;
- + char *bp = p-1 ;
- +
- + while ( bp >= p_entry && *bp == '\\' )
- + {
- + cnt++ ; bp-- ;
- + }
- + if ( cnt & 1 ) p-- ;
- + }
- + }
- +
- X *s = 0 ;
- X *pp = p ;
- ***************
- *** 232,236 ****
- X *---------------------------*/
- X
- ! #define on( b, x) ( (b)[((unsigned char)(x))>>3] |= ( 1 << ((x)&7) ))
- X
- X static void PROTO(block_on, (BV,int,int) ) ;
- --- 259,263 ----
- X *---------------------------*/
- X
- ! #define on( b, x) ((b)[(x)>>3] |= ( 1 << ((x)&7) ))
- X
- X static void PROTO(block_on, (BV,int,int) ) ;
- ***************
- *** 237,243 ****
- X
- X static void block_on( b, x, y)
- ! BV b ; int x, y ;
- ! { int lo = (x&0xff) >> 3 ;
- ! int hi = (y&0xff) >> 3 ;
- X int i, j, bit ;
- X
- --- 264,272 ----
- X
- X static void block_on( b, x, y)
- ! BV b ;
- ! int x, y ;
- ! /* caller makes sure x<=y and x>0 y>0 */
- ! { int lo = x >> 3 ;
- ! int hi = y >> 3 ;
- X int i, j, bit ;
- X
- ***************
- *** 267,271 ****
- X int comp_flag ;
- X
- ! p = (*start) + 1 ;
- X if ( *p == ']' || *p == '^' && *(p+1) == ']' )
- X RE_error_trap(-E3) ;
- --- 296,300 ----
- X int comp_flag ;
- X
- ! p = t = (*start) + 1 ;
- X if ( *p == ']' || *p == '^' && *(p+1) == ']' )
- X RE_error_trap(-E3) ;
- ***************
- *** 280,284 ****
- X }
- X /* q now pts at the back of the class */
- ! p = (*start) + 1 ;
- X *start = q + 1 ;
- X
- --- 309,313 ----
- X }
- X /* q now pts at the back of the class */
- ! p = t ;
- X *start = q + 1 ;
- X
- ***************
- *** 286,290 ****
- X (void) memset( bvp, 0, SIZE_T(sizeof(BV)) ) ;
- X
- ! comp_flag = *p == '^' ? (p++ , 1) : 0 ;
- X prev = -1 ; /* indicates - cannot be part of a range */
- X
- --- 315,321 ----
- X (void) memset( bvp, 0, SIZE_T(sizeof(BV)) ) ;
- X
- ! if ( *p == '^' ) { comp_flag = 1 ; p++ ; }
- ! else comp_flag = 0 ;
- !
- X prev = -1 ; /* indicates - cannot be part of a range */
- X
- ***************
- *** 292,318 ****
- X {
- X switch( *p )
- ! { case '\\' :
- ! t = ++p ;
- X prev = escape(&t) ;
- X on(*bvp, prev) ;
- X p = t ;
- ! continue ;
- X
- X case '-' :
- - if ( prev == -1 || p+1 == q || prev > *(unsigned char*)(p+1) )
- - { prev = '-' ; on(*bvp, '-') ; }
- - else
- - { p++ ;
- - block_on(*bvp, prev, *p) ;
- - prev = -1 ;
- - }
- - break ;
- X
- X default :
- ! prev = *(unsigned char*)p ;
- ! on(*bvp, *p) ;
- X break ;
- X }
- - p++ ;
- X }
- X
- --- 323,375 ----
- X {
- X switch( *p )
- ! {
- ! case '\\' :
- !
- ! t = p+1 ;
- X prev = escape(&t) ;
- X on(*bvp, prev) ;
- X p = t ;
- ! break ;
- X
- X case '-' :
- X
- + if ( prev == -1 || p+1 == q )
- + {
- + prev = '-' ;
- + on(*bvp,'-') ;
- + p++ ;
- + }
- + else
- + {
- + int c ;
- + char *mark = ++p ;
- +
- + if ( *p != '\\' ) c = *(unsigned char *) p++ ;
- + else
- + {
- + t = p+1 ;
- + c = escape(&t) ;
- + p = t ;
- + }
- +
- + if ( prev <= c )
- + {
- + block_on(*bvp, prev, c) ;
- + prev = -1 ;
- + }
- + else /* back up */
- + {
- + p = mark ;
- + prev = '-' ;
- + on(*bvp,'-') ;
- + }
- + }
- + break ;
- +
- X default :
- ! prev = *(unsigned char*)p++ ;
- ! on(*bvp, prev) ;
- X break ;
- X }
- X }
- X
- ***************
- *** 455,458 ****
- X /* anything else \c -> c */
- X *start_p = p ;
- ! return p[-1] ;
- X }
- --- 512,515 ----
- X /* anything else \c -> c */
- X *start_p = p ;
- ! return *(unsigned char*)(p-1) ;
- X }
- *** mawk/rexp/rexp1.c Tue Mar 3 17:29:26 1992
- --- mawk112/rexp/rexp1.c Mon Apr 27 10:14:01 1992
- ***************
- *** 11,18 ****
- X ********************************************/
- X
- ! /*$Log: rexp1.c,v $
- ! * Revision 3.4 92/02/20 16:08:12 brennan
- X * change new_TWO() to work around sun acc bug
- ! *
- X * Revision 3.3 91/10/29 10:54:01 brennan
- X * SIZE_T
- --- 11,18 ----
- X ********************************************/
- X
- ! /*$Log: rexp1.c,v $
- ! * Revision 3.4 1992/02/20 16:08:12 brennan
- X * change new_TWO() to work around sun acc bug
- ! *
- X * Revision 3.3 91/10/29 10:54:01 brennan
- X * SIZE_T
- *** mawk/rexp/rexp2.c Tue Mar 3 17:24:02 1992
- --- mawk112/rexp/rexp2.c Tue Apr 7 12:56:46 1992
- ***************
- *** 11,18 ****
- X ********************************************/
- X
- ! /*$Log: rexp2.c,v $
- ! * Revision 3.7 92/01/21 17:33:15 brennan
- X * added some casts so that character classes work with signed chars
- ! *
- X * Revision 3.6 91/10/29 10:54:03 brennan
- X * SIZE_T
- --- 11,18 ----
- X ********************************************/
- X
- ! /*$Log: rexp2.c,v $
- ! * Revision 3.7 1992/01/21 17:33:15 brennan
- X * added some casts so that character classes work with signed chars
- ! *
- X * Revision 3.6 91/10/29 10:54:03 brennan
- X * SIZE_T
- *** mawk/rexp/rexp3.c Tue Mar 3 17:24:04 1992
- --- mawk112/rexp/rexp3.c Tue Apr 7 12:56:46 1992
- ***************
- *** 11,18 ****
- X ********************************************/
- X
- ! /*$Log: rexp3.c,v $
- ! * Revision 3.5 92/01/21 17:33:20 brennan
- X * added some casts so that character classes work with signed chars
- ! *
- X * Revision 3.4 91/10/29 10:54:09 brennan
- X * SIZE_T
- --- 11,18 ----
- X ********************************************/
- X
- ! /*$Log: rexp3.c,v $
- ! * Revision 3.5 1992/01/21 17:33:20 brennan
- X * added some casts so that character classes work with signed chars
- ! *
- X * Revision 3.4 91/10/29 10:54:09 brennan
- X * SIZE_T
- *** mawk/rexp/rexpdb.c Tue Mar 3 17:24:04 1992
- --- mawk112/rexp/rexpdb.c Tue Apr 7 12:56:47 1992
- ***************
- *** 12,19 ****
- X
- X
- ! /*$Log: rexpdb.c,v $
- ! * Revision 3.2 91/08/13 09:10:09 brennan
- X * VERSION .9994
- ! *
- X * Revision 3.1 91/06/07 10:33:30 brennan
- X * VERSION 0.995
- --- 12,19 ----
- X
- X
- ! /*$Log: rexpdb.c,v $
- ! * Revision 3.2 1991/08/13 09:10:09 brennan
- X * VERSION .9994
- ! *
- X * Revision 3.1 91/06/07 10:33:30 brennan
- X * VERSION 0.995
- *** /dev/null Thu Oct 8 13:30:24 1992
- --- mawk112/config/aix.h Mon Jul 6 13:23:10 1992
- ***************
- *** 0 ****
- --- 1,36 ----
- +
- + /********************************************
- + aix.h
- + copyright 1992. Michael D. Brennan
- +
- + This is a source file for mawk, an implementation of
- + the AWK programming language.
- +
- + Mawk is distributed without warranty under the terms of
- + the GNU General Public License, version 2, 1991.
- + ********************************************/
- +
- +
- + /* $Log: aix.h,v $
- + * Revision 1.1 1992/07/06 20:26:36 brennan
- + * Initial revision
- + *
- + */
- +
- + /* AIX 3.1 on RS6000 */
- +
- +
- + #ifndef CONFIG_H
- + #define CONFIG_H 1
- +
- + #define HAVE_STDLIB_H 1
- + #define HAVE_PROTOS 1
- + #define HAVE_STDARG_H 1
- + #define DONT_PROTO_OPEN
- +
- +
- +
- +
- + #include "config/Idefault.h"
- +
- + #endif
- *** /dev/null Thu Oct 8 13:30:24 1992
- --- mawk112/config/convex.h Wed Jul 8 09:04:08 1992
- ***************
- *** 0 ****
- --- 1,46 ----
- +
- + /********************************************
- + convex.h
- + copyright 1992, Michael D. Brennan
- +
- + This is a source file for mawk, an implementation of
- + the AWK programming language.
- +
- + Mawk is distributed without warranty under the terms of
- + the GNU General Public License, version 2, 1991.
- + ********************************************/
- +
- +
- + /* tested on ConvexOS 9.1
- +
- + There is a bug in convex strtod(3) in OS 8.1, 9.0 and 9.1.
- +
- + It is supposed to be fixed in 10.0
- +
- + The patch is PR-25399
- +
- + */
- +
- + /*$Log: convex.h,v $
- + * Revision 1.1 1992/07/08 16:07:31 brennan
- + * Initial revision
- + *
- + */
- +
- + /* convex.h */
- +
- + #ifndef CONFIG_H
- + #define CONFIG_H 1
- +
- + #define FPE_TRAPS_ON 1
- + #define FPE_ZERODIVIDE 0x4
- + #define FPE_OVERFLOW 0x3
- + #define HAVE_MATHERR 0
- +
- + #define sys_nerr __ap$sys_nerr
- + #define sys_errlist __ap$sys_errlist
- +
- + #include "config/Idefault.h"
- + #endif /* CONFIG_H */
- +
- +
- *** /dev/null Thu Oct 8 13:30:24 1992
- --- mawk112/config/sysVr4i386.h Tue Jul 14 07:20:41 1992
- ***************
- *** 0 ****
- --- 1,52 ----
- +
- + /********************************************
- + sysVr4i386.h
- + copyright 1992, Michael D. Brennan
- +
- + This is a source file for mawk, an implementation of
- + the AWK programming language.
- +
- + Mawk is distributed without warranty under the terms of
- + the GNU General Public License, version 2, 1991.
- + ********************************************/
- +
- +
- + /*
- +
- + On Intel platforms and maybe others,
- + for some strange reason, division by zero traps but overflow
- + does not, so we have to turn on the overflow trap.
- + (This seems like a small bug to me.)
- + If the trap is on, it won't hurt to turn it on some more.
- +
- + If you have ieee754 hardware *and* a math lib that
- + supports it use sysV_ieeefp.h instead.
- +
- + */
- +
- + /*$Log: sysVr4i386.h,v $
- + * Revision 1.3 1992/07/14 14:23:35 brennan
- + * fixed typo
- + *
- + * Revision 1.2 1992/07/07 15:40:02 brennan
- + * DONT_PROTO_OPEN
- + *
- + * Revision 1.1 1992/07/01 18:07:47 brennan
- + * Initial revision
- + *
- + */
- +
- + #ifndef CONFIG_H
- + #define CONFIG_H 1
- +
- + #define FPE_TRAPS_ON 1
- + #define NOINFO_SIGFPE 1
- +
- + #define USE_IEEEFP_H
- + #define TURN_ON_FPE_TRAPS() (void)fpsetmask(fpgetmask()|FP_X_OFL)
- +
- + #define DONT_PROTO_OPEN
- +
- + #include "config/Idefault.h"
- +
- + #endif /* CONFIG_H */
- SHAR_EOF
- echo 'File diffs2 is complete' &&
- chmod 0644 diffs2 ||
- echo 'restore of diffs2 failed'
- Wc_c="`wc -c < 'diffs2'`"
- test 107075 -eq "$Wc_c" ||
- echo 'diffs2: original size 107075, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= Xparse.c ==============
- if test -f 'Xparse.c' -a X"$1" != X"-c"; then
- echo 'x - skipping Xparse.c (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting Xparse.c (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'Xparse.c' &&
- #ifndef lint
- static char yyid[] = "@(#)modification of yaccpar 1.8 (Berkeley) 01/20/90";
- #endif
- #define YYXBYACC 1 /* XBYACC -- modified Berkeley yacc */
- /*
- X Berkeley yacc modified so only tables and
- X yydebug and yylval are global
- X #define YYGLOBAL -- gives standard byacc
- X #define YYPURE -- gives a reentrant parser
- X
- X Mike Brennan 11/05/91
- */
- #line 31 "parse.y"
- #include <stdio.h>
- #include "mawk.h"
- #include "code.h"
- #include "symtype.h"
- #include "memory.h"
- #include "bi_funct.h"
- #include "bi_vars.h"
- #include "jmp.h"
- #include "field.h"
- #include "files.h"
- X
- #ifdef YYXBYACC
- #define YYBYACC 1
- #endif
- X
- #define YYMAXDEPTH 200
- X
- /* Bison's use of MSDOS and ours clashes */
- #undef MSDOS
- X
- extern void PROTO( eat_nl, (void) ) ;
- static void PROTO( resize_fblock, (FBLOCK *, INST *) ) ;
- static void PROTO( code_array, (SYMTAB *) ) ;
- static void PROTO( code_call_id, (CA_REC *, SYMTAB *) ) ;
- static void PROTO( field_A2I, (void)) ;
- static int PROTO( current_offset, (void) ) ;
- static void PROTO( check_var, (SYMTAB *) ) ;
- static void PROTO( check_array, (SYMTAB *) ) ;
- static void PROTO( RE_as_arg, (void)) ;
- X
- static int scope ;
- static FBLOCK *active_funct ;
- X /* when scope is SCOPE_FUNCT */
- X
- #define code_address(x) if( is_local(x) )\
- X { code1(L_PUSHA) ; code1((x)->offset) ; }\
- X else code2(_PUSHA, (x)->stval.cp)
- X
- /* this nonsense caters to MSDOS large model */
- #define CODE_FE_PUSHA() code_ptr->ptr = (PTR) 0 ; code1(FE_PUSHA)
- X
- #line 74 "parse.y"
- typedef union{
- CELL *cp ;
- SYMTAB *stp ;
- INST *start ; /* code starting address */
- PF_CP fp ; /* ptr to a (print/printf) or (sub/gsub) function */
- BI_REC *bip ; /* ptr to info about a builtin */
- FBLOCK *fbp ; /* ptr to a function block */
- ARG2_REC *arg2p ;
- CA_REC *ca_p ;
- int ival ;
- PTR ptr ;
- } YYSTYPE;
- #line 69 "y.tab.c"
- #define UNEXPECTED 257
- #define BAD_DECIMAL 258
- #define NL 259
- #define SEMI_COLON 260
- #define LBRACE 261
- #define RBRACE 262
- #define LBOX 263
- #define RBOX 264
- #define COMMA 265
- #define IO_OUT 266
- #define ASSIGN 267
- #define ADD_ASG 268
- #define SUB_ASG 269
- #define MUL_ASG 270
- #define DIV_ASG 271
- #define MOD_ASG 272
- #define POW_ASG 273
- #define QMARK 274
- #define COLON 275
- #define OR 276
- #define AND 277
- #define IN 278
- #define MATCH 279
- #define EQ 280
- #define NEQ 281
- #define LT 282
- #define LTE 283
- #define GT 284
- #define GTE 285
- #define CAT 286
- #define GETLINE 287
- #define PLUS 288
- #define MINUS 289
- #define MUL 290
- #define DIV 291
- #define MOD 292
- #define NOT 293
- #define UMINUS 294
- #define IO_IN 295
- #define PIPE 296
- #define POW 297
- #define INC_or_DEC 298
- #define DOLLAR 299
- #define FIELD 300
- #define LPAREN 301
- #define RPAREN 302
- #define DOUBLE 303
- #define STRING_ 304
- #define RE 305
- #define ID 306
- #define D_ID 307
- #define FUNCT_ID 308
- #define BUILTIN 309
- #define LENGTH 310
- #define PRINT 311
- #define PRINTF 312
- #define SPLIT 313
- #define MATCH_FUNC 314
- #define SUB 315
- #define GSUB 316
- #define DO 317
- #define WHILE 318
- #define FOR 319
- #define BREAK 320
- #define CONTINUE 321
- #define IF 322
- #define ELSE 323
- #define DELETE 324
- #define BEGIN 325
- #define END 326
- #define EXIT 327
- #define NEXT 328
- #define RETURN 329
- #define FUNCTION 330
- #define YYERRCODE 256
- short yylhs[] = { -1,
- X 0, 0, 36, 36, 36, 37, 40, 37, 41, 37,
- X 42, 37, 43, 44, 37, 1, 1, 2, 2, 3,
- X 3, 4, 4, 4, 4, 4, 4, 4, 4, 45,
- X 45, 13, 13, 13, 13, 13, 13, 13, 13, 13,
- X 13, 13, 13, 13, 13, 13, 46, 13, 47, 13,
- X 48, 49, 13, 14, 14, 15, 15, 15, 15, 15,
- X 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
- X 15, 15, 15, 15, 10, 25, 25, 26, 26, 8,
- X 8, 5, 4, 27, 27, 6, 6, 6, 7, 7,
- X 50, 50, 17, 4, 51, 4, 52, 4, 16, 4,
- X 4, 18, 18, 19, 19, 53, 53, 13, 13, 10,
- X 15, 15, 4, 20, 4, 11, 11, 11, 11, 11,
- X 15, 13, 13, 13, 13, 13, 13, 13, 15, 22,
- X 54, 54, 15, 23, 4, 4, 21, 21, 15, 15,
- X 15, 15, 15, 55, 12, 12, 9, 9, 15, 28,
- X 28, 24, 24, 38, 29, 30, 30, 34, 34, 35,
- X 35, 39, 15, 31, 31, 32, 32, 32, 33, 33,
- };
- short yylen[] = { 2,
- X 1, 2, 1, 1, 2, 1, 0, 3, 0, 3,
- X 0, 3, 0, 0, 6, 3, 3, 1, 1, 1,
- X 2, 1, 2, 1, 2, 2, 2, 1, 2, 1,
- X 1, 1, 3, 3, 3, 3, 3, 3, 3, 3,
- X 3, 3, 3, 3, 3, 3, 0, 4, 0, 4,
- X 0, 0, 7, 1, 2, 1, 1, 1, 3, 1,
- X 3, 3, 3, 3, 3, 3, 2, 2, 2, 1,
- X 2, 2, 2, 2, 1, 0, 1, 1, 3, 5,
- X 1, 0, 5, 1, 1, 1, 3, 2, 3, 3,
- X 0, 2, 4, 2, 1, 4, 1, 7, 4, 2,
- X 4, 3, 4, 1, 2, 1, 2, 3, 5, 5,
- X 5, 6, 7, 6, 2, 1, 2, 6, 2, 3,
- X 1, 3, 3, 3, 3, 3, 3, 3, 2, 5,
- X 1, 3, 6, 1, 2, 3, 2, 3, 1, 2,
- X 2, 3, 4, 1, 1, 1, 2, 3, 6, 1,
- X 1, 1, 3, 2, 4, 2, 2, 0, 1, 1,
- X 3, 1, 3, 2, 2, 1, 3, 3, 2, 2,
- };
- short yydefred[] = { 0,
- X 162, 0, 144, 0, 0, 0, 0, 0, 116, 0,
- X 56, 57, 60, 0, 82, 82, 81, 0, 0, 150,
- X 151, 7, 9, 0, 0, 6, 70, 0, 0, 0,
- X 0, 0, 0, 0, 0, 0, 0, 1, 3, 4,
- X 0, 0, 0, 30, 31, 84, 85, 97, 0, 0,
- X 0, 0, 0, 0, 0, 0, 0, 22, 0, 20,
- X 0, 0, 0, 0, 0, 28, 82, 24, 0, 0,
- X 0, 0, 0, 0, 0, 0, 0, 72, 74, 0,
- X 119, 0, 0, 0, 71, 0, 0, 0, 0, 0,
- X 0, 0, 156, 157, 2, 0, 0, 0, 0, 0,
- X 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- X 73, 13, 51, 47, 49, 0, 0, 0, 0, 0,
- X 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- X 0, 0, 0, 131, 129, 0, 154, 0, 5, 147,
- X 145, 146, 0, 17, 25, 0, 0, 26, 27, 0,
- X 82, 0, 135, 29, 0, 137, 0, 16, 21, 23,
- X 100, 0, 104, 0, 0, 115, 0, 0, 0, 0,
- X 0, 0, 0, 0, 0, 120, 0, 59, 0, 0,
- X 163, 0, 0, 0, 0, 8, 10, 0, 0, 0,
- X 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- X 0, 0, 0, 0, 0, 108, 0, 40, 41, 42,
- X 43, 44, 45, 18, 12, 19, 0, 0, 0, 0,
- X 0, 0, 0, 0, 0, 0, 160, 0, 0, 148,
- X 0, 102, 0, 0, 0, 0, 136, 138, 95, 0,
- X 105, 106, 0, 0, 0, 0, 0, 86, 0, 0,
- X 0, 0, 0, 0, 0, 0, 0, 164, 0, 0,
- X 165, 0, 0, 0, 0, 0, 0, 0, 143, 132,
- X 0, 155, 0, 99, 0, 103, 93, 0, 96, 107,
- X 101, 88, 0, 0, 0, 0, 0, 0, 0, 0,
- X 109, 0, 168, 170, 167, 169, 80, 130, 0, 0,
- X 52, 0, 161, 0, 0, 0, 0, 83, 0, 0,
- X 0, 110, 118, 112, 133, 15, 0, 0, 152, 149,
- X 114, 0, 0, 0, 0, 113, 98, 153,
- };
- short yydgoto[] = { 25,
- X 58, 215, 59, 60, 86, 246, 82, 27, 28, 29,
- X 30, 143, 61, 32, 33, 62, 63, 64, 165, 65,
- X 66, 34, 226, 320, 248, 249, 67, 35, 36, 37,
- X 181, 182, 261, 228, 229, 38, 39, 40, 41, 91,
- X 92, 124, 202, 300, 68, 204, 205, 203, 317, 285,
- X 240, 69, 244, 135, 42,
- };
- short yysindex[] = { 35,
- X 0, 278, 0, 2243, 2243, 2243, -26, 2153, 0, 2273,
- X 0, 0, 0, -286, 0, 0, 0, -269, -228, 0,
- X 0, 0, 0, -255, 35, 0, 0, 2243, 284, 2166,
- X 2547, 2243, 116, -257, -161, -246, -159, 0, 0, 0,
- X -246, -63, -124, 0, 0, 0, 0, 0, -157, -151,
- X -196, -196, -148, -141, 1729, -196, 1729, 0, 130, 0,
- X 2499, 352, 352, 69, 352, 0, 0, 0, 352, 2273,
- X -286, -220, -211, -211, -211, -282, 0, 0, 0, 0,
- X 0, -232, 2146, 2093, 0, -96, -132, -122, 2273, 2273,
- X -246, -246, 0, 0, 0, -120, 2273, 2273, 2273, 2273,
- X 2273, 2273, 2273, 2273, 2273, 2273, 2273, 2273, 2273, 2273,
- X 0, 0, 0, 0, 0, -110, 2273, 2273, 2273, 2273,
- SHAR_EOF
- true || echo 'restore of Xparse.c failed'
- fi
- echo 'End of part 2'
- echo 'File Xparse.c is continued in part 3'
- echo 3 > _shar_seq_.tmp
- exit 0
-
- exit 0 # Just in case...
-